package Controller.VendedorController;

import javax.swing.JOptionPane;

import DAO.VendedorDAO;
import Entidade.Vendedor;
import Model.VendedorModel.VendedorConsultaModel;
import View.VendedorView.VendedorView;
import framework.mvc.GenericController;

public class VendedorConsultaController extends GenericController<Vendedor> {
	public VendedorConsultaController() {
		super(new VendedorConsultaModel(), new VendedorDAO());
	}

	public void novo() {
		VendedorView vendedorview = new VendedorView();
		vendedorview.abrir();
		view.atualizarView();
	}

	public void alterar() {
		view.atualizarModel();
		Vendedor vendedorSelecionado = ((VendedorConsultaModel) model)
				.getVendedorSelecionado();
		if (vendedorSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o Vendedor que deseja alterar", "Erro",
					JOptionPane.ERROR_MESSAGE);

		} else {
			VendedorView vendedorView = new VendedorView();
			vendedorView.getModel().setEntidade(vendedorSelecionado);
			vendedorView.atualizarView();
			vendedorView.abrir();
			view.atualizarView();
		}
	}

	public void excluir() {
		view.atualizarModel();
		Vendedor vendedorSelecionado = ((VendedorConsultaModel) model)
				.getVendedorSelecionado();
		if (vendedorSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o Vendedor que deseja excluir", "Erro",
					JOptionPane.ERROR_MESSAGE);
		} else {
			if (JOptionPane.showConfirmDialog(null,
					"Deseja realmente excluir este Vendedor?") == JOptionPane.YES_OPTION) {
				getDao().excluir(vendedorSelecionado);
				view.atualizarView();
			}
		}
	}

	public void fechar() {
		view.dispose();
	}
}
